#include"Com.hpp"
#include"Log.hpp"


extern Log log; //拿到Com.hpp里面创建的哪个全局的静态对象， 


int main()
{
    //先创建共享内存
    int shmid = GreatShm();//函数内部自动判断， 无需手动判断
    //挂接共享内存到到vm_area_struct
    char* shmaddr = (char*)shmat(shmid, nullptr, 0); //这个返回值， 就是
    //共享内存的虚拟地址， 我们利用虚拟地址， 就可以访问共享内存

    struct shmid_ds shmds; //创建一个结构体， 用来获取共享内存的数据

        cout << "client say@ " << shmaddr << endl;
        sleep(1);
        shmctl(shmid, IPC_STAT, &shmds); //读取共享内存的各个属性
        //将各个数据打出来！
        cout << "shm size: " << shmds.shm_segsz << endl;
        cout << "shm nattch: " << shmds.shm_nattch << endl;
        cout << "shm key: " << shmds.shm_perm.__key << endl;
    shmdt(shmaddr);
    shmctl(shmid, IPC_RMID, nullptr); //删除共享内存
   
    return 0;
}